package io;

import java.io.*;
import java.nio.Buffer;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

/**
 * 在流连接中使用PW
 */
public class PWDemo2 {
    public static void main(String[] args) throws FileNotFoundException {
      //文件字节输出流（是一个低级流），向文件中写入字节数据
        FileOutputStream fos=new FileOutputStream("pw2.txt");
        //转换输出流（是一个高级流，且是一个字符流）。1：衔接字符与字节流 2：将写出得字符转换为字节
        OutputStreamWriter osw=new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        //缓冲输出流（是一个高级流，且是一个字符流）。块写文本数据加速
        BufferedWriter bw=new BufferedWriter(osw);
        //具有自动行刷新得缓冲字符输出流
        //PrintWriter 提供的构造器中，当第一个参数为一个流时，就支持在传入一个boolean型得参数
        //表示是否自动行刷新。当值为true时则打开了自动刷新功能，这就意味着每当我们调用Println方法后会自动flush一次。
        PrintWriter pw=new PrintWriter(bw,true);
        //完成简易记事本.控制台输入得每行字符都按行写入文件。单独输入exit时退出
        Scanner scan = new Scanner(System.in);

        while (true) {
            String line= scan.nextLine();
            if ("exit".equals(line)) {
                break;
            }
            pw.println(line);

        }

        pw.close();



    }
}
